package com.java.core1.chapter3;
/**
* @author ClearScenery
* @version 创建时间：2019年2月18日 上午9:22:42
* @ClassName Chapter3
* @Description 了解Java程序的命名规范
*/
/*
 * 1、没有public修饰的外部类，源文件名字随意,编译可以通过，但是运行会提示“错误: 找不到或无法加载主类 com.java.core1.chapter3.Chapter32”
 * 2、如果源文件里没有public修饰的外部类，但是有与源文件名字相同的类，并且类里有main方法，程序也可以正常运行
 * 3、思考编译与运行阶段，源文件名字和源文件中类名的关系？JVM是怎么判定的？。。。。不会
 */
public class Demo1 {
	int a = 0;
	//public修饰的内部类
	public class Inner{
		
	}
	/*
	 * 在同一个源文件中如果有多个外部类，main方法必须放在public类下，否则编译没有问题，但运行会报异常：
	 * 错误: 在类 com.java.core1.chapter3.Chapter3 中找不到主方法, 请将主方法定义为:
     *            public static void main(String[] args)
	 */
	public static void main(String[] args) {
		Demo1 c = new Demo1();
		System.out.println(c.a);
	}
}

class Test{
	//可以写main方法，编译不报错。但运行还是默认以public修饰的外部类内的main方法当程序入口
//	public static void main(String[] args) {
//		Chapter3 c = new Chapter3();
//		System.out.println(c.a);
//	}
}
